﻿using AutoMapper;
using wwl.Contract.Dtos.Responses.Rbac;
using wwl.Domain.Entities.Rbac; // 引入租户相关的领域实体命名空间

namespace wwl.Application.Mappings.Rbac
{
  /// <summary>
  /// 租户实体与DTO的映射配置类
  /// 继承AutoMapper的Profile类，用于定义对象之间的映射规则
  /// </summary>
  public class TenantProfile : Profile
  {
    /// <summary>
    /// 构造函数，配置租户实体与DTO的映射关系
    /// </summary>
    public TenantProfile()
    {
      // 创建从Tenant实体到TenantDto的映射
      CreateMap<Tenant, TenantResponse>()
          // 自定义映射：将实体的Status属性（枚举类型）转换为字符串类型后映射到DTO的Status属性
          .ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.Status.ToString()));
    }
  }
}